export const navigate = function(url, json, type = 'nav') {
	let query = ''
	if (json && (Object.prototype.toString.call(json) === '[object Object]')) {
		query = '?' + Object.keys(json).map(key => `${key}=${json[key]}`).join('&')
	}
	switch (type) {
		case 'red':
			uni.redirectTo({
				url: url + query
			})
			break;
		case 'nav':
			uni.navigateTo({
				url: url + query
			})
			break;
		case 'swi':
			uni.switchTab({
				url: url + query
			})
			break;
		default:
			break;
	}
}

export function getQueryString(url, name) {
	if (url === 'undefined' || !url) {
		return ''
	}
	const query = url.split('?')[1]
	const arr = query.split('&')
	let params = {}
	if (arr && arr.length > 0) {
		arr.forEach(it => {
			let str = it.split('=')
			params[str[0]] = str[1]
		})
	}
	if (params[name]) return params[name]
}

export function isLogin() {
	let openId = uni.getStorageSync('openid')
	if (!openId) {
		return navigate('/pages/login/index', '', 'nav')
	} else {
		return true
	}
}

export function verifyNumberIntegerAndFloat(val, num) {
	// 匹配空格
	var str = val
	var len1 = str.substr(0, 1)
	var len2 = str.substr(1, 1)
	//如果第一位是0，第二位不是点，就用数字把点替换掉
	if (str.length > 1 && len1 == 0 && len2 != '.') {
		str = str.substr(1, 1)
	}
	//第一位不能是.
	if (len1 == '.') {
		str = ''
	}
	//限制只能输入一个小数点
	if (str.indexOf('.') != -1) {
		var str_ = str.substr(str.indexOf('.') + 1)
		//限制只能输入一个小数点
		if (str_.indexOf('.') != -1) {
			str = str.substr(0, str.indexOf('.') + str_.indexOf('.') + 1)
		}
	}
	let v = str.replace(/(^\s*)|(\s*$)/g, '')
	// 只能是数字和小数点，不能是其他输入
	v = v.replace(/[^\d.]/g, '')
	// 以0开始只能输入一个
	v = v.replace(/^0{2}$/g, '0')
	// 保证第一位只能是数字，不能是点
	v = v.replace(/^\./g, '')
	// 小数只能出现1位
	v = v.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
	// 小数点后面保留2位
	if (!num) {
		v = v.replace(/^(\\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
	} else {
		// 小数点后面保留1位
		v = v.replace(/^(\\-)*(\d+)\.(\d).*$/, '$1$2.$3');
	}
	// 返回结果
	return v
}

// 获取菜单权限
export function menuAuth(page) {
	let bl = false
	let menu = uni.getStorageSync('menu')
	if (menu && menu.length) {
		if (menu.filter(i => i.route == page).length) {
			bl = menu.filter(i => i.route == page)[0].checked
		}
	}
	return bl
}

// 获取按钮权限
export function btnAuth(page, type = 1) {
	if (type == 1) {
		let arr = []
		let menu = uni.getStorageSync('menu')
		if (menu && menu.length) {
			arr = menu.filter(i => i.route == page)[0].btns
		}
		return arr
	} else {
		let bl = false
		let menu = uni.getStorageSync('menu')
		if (menu && menu.length) {
			let btns = menu.filter(i => i.route == page)[0].btns
			if (btns.filter(i => i.permissions == type).length) {
				bl = btns.filter(i => i.permissions == type)[0].checked
			}
		}
		return bl
	}

}
